home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 26 / Cream of the Crop 26.iso / os2 / octa209s.zip / octave-2.09 / doc / liboctave / optim.tex < prev    next >
Text File  |  1997-08-13  |  9KB  |  208 lines

  1. @node Optimization, Quadrature, Nonlinear Equations, Top
  2. @chapter Optimization
  3. @cindex optimization
  4.  
  5. @menu
  6. * Objective Functions::         
  7. * Bounds::                      
  8. * Linear Constraints::          
  9. * Nonlinear Constraints::       
  10. * Quadratic Programming::       
  11. * Nonlinear Programming::       
  12. @end menu
  13.  
  14. @node Objective Functions, Bounds, Optimization, Optimization
  15. @section Objective Functions
  16. @cindex objective functions
  17.  
  18. @deftypefn  {} {}Objective (void)
  19. @deftypefnx  {} {}Objective (const @var{objective_fcn})
  20. @deftypefnx  {} {}Objective (const @var{objective_fcn}, const @var{gradient_fcn})
  21. @deftypefnx  {} {}Objective (const Objective &@var{a})
  22. @end deftypefn
  23.  
  24. @deftypefn {} Objective& {operator =} (const Objective &@var{a})
  25. @end deftypefn
  26.  
  27. @deftypefn {} objective_fcn objective_function (void) const;
  28. @end deftypefn
  29.  
  30. @deftypefn {} Objective& set_objective_function (const @var{objective_fcn})
  31. @end deftypefn
  32.  
  33. @deftypefn {} gradient_fcn gradient_function (void) const;
  34. @end deftypefn
  35.  
  36. @deftypefn {} Objective& set_gradient_function (const @var{gradient_fcn})
  37. @end deftypefn
  38.  
  39. @c ------------------------------------------------------------------------
  40.  
  41. @node Bounds, Linear Constraints, Objective Functions, Optimization
  42. @section Bounds
  43. @cindex bounds
  44.  
  45. @deftypefn  {} {}Bounds (void)
  46. @deftypefnx  {} {}Bounds (int @var{n})
  47. @deftypefnx  {} {}Bounds (const ColumnVector @var{lb}, const ColumnVector @var{ub})
  48. @deftypefnx  {} {}Bounds (const Bounds &@var{a})
  49. @end deftypefn
  50.  
  51. @deftypefn {} Bounds& {operator =} (const Bounds &@var{a})
  52. @end deftypefn
  53.  
  54. @deftypefn {} Bounds& resize (int @var{n})
  55. @end deftypefn
  56.  
  57. @deftypefn {} double lower_bound (int @var{index}) const;
  58. @deftypefnx {} double upper_bound (int @var{index}) const;
  59. @end deftypefn
  60.  
  61. @deftypefn {} ColumnVector lower_bounds (void) const;
  62. @deftypefnx {} ColumnVector upper_bounds (void) const;
  63. @end deftypefn
  64.  
  65. @deftypefn {} int size (void) const;
  66. @end deftypefn
  67.  
  68. @deftypefn {} Bounds& set_bound (int @var{index}, double @var{low}, double @var{high})
  69. @end deftypefn
  70.  
  71. @deftypefn {} Bounds& set_bounds (double @var{low}, double @var{high})
  72. @deftypefnx {} Bounds& set_bounds (const ColumnVector @var{lb}, const ColumnVector @var{ub})
  73. @end deftypefn
  74.  
  75. @deftypefn {} Bounds& set_lower_bound (int @var{index}, double @var{low})
  76. @deftypefnx {} Bounds& set_upper_bound (int @var{index}, double @var{high})
  77. @end deftypefn
  78.  
  79. @deftypefn {} Bounds& set_lower_bounds (double @var{low})
  80. @deftypefnx {} Bounds& set_upper_bounds (double @var{high})
  81. @end deftypefn
  82.  
  83. @deftypefn {} Bounds& set_lower_bounds (const ColumnVector @var{lb})
  84. @deftypefnx {} Bounds& set_upper_bounds (const ColumnVector @var{ub})
  85. @end deftypefn
  86.  
  87. @deftypefn {} {ostream&} {operator <<} (ostream &@var{os}, const Bounds &@var{b})
  88. @end deftypefn
  89.  
  90. @c ------------------------------------------------------------------------
  91.  
  92. @node Linear Constraints, Nonlinear Constraints, Bounds, Optimization
  93. @section Linear Constraints
  94. @cindex linear Constraints
  95.  
  96. @deftypefn  {} {}LinConst (void)
  97. @deftypefnx  {} {}LinConst (int @var{nclin}, int @var{nx})
  98. @deftypefnx  {} {}LinConst (int @var{nclin_eq}, int @var{nclin_ineq}, int @var{nx})
  99. @deftypefnx  {} {}LinConst (const ColumnVector &@var{lb}, const Matrix &@var{A}, const ColumnVector &@var{ub})
  100. @deftypefnx  {} {}LinConst (const Matrix &@var{A_eq}, const ColumnVector &@var{b_eq}, const Matrix &@var{A_ineq}, const ColumnVector &@var{b_ineq})
  101. @deftypefnx  {} {}LinConst (const LinConst &@var{a})
  102. @end deftypefn
  103.  
  104. @deftypefn {} LinConst& {operator =} (const LinConst &@var{a})
  105. @end deftypefn
  106.  
  107. @deftypefn {} LinConst& resize (int @var{nclin}, int @var{n})
  108. @end deftypefn
  109.  
  110. @deftypefn {} Matrix constraint_matrix (void) const;
  111. @end deftypefn
  112.  
  113. @deftypefn {} LinConst& set_constraint_matrix (const Matrix &@var{A})
  114. @end deftypefn
  115.  
  116. @deftypefn {} Matrix eq_constraint_matrix (void) const;
  117. @deftypefnx {} Matrix ineq_constraint_matrix (void) const;
  118. @end deftypefn
  119.  
  120. @deftypefn {} ColumnVector eq_constraint_vector (void) const;
  121. @deftypefnx {} ColumnVector ineq_constraint_vector (void) const;
  122. @end deftypefn
  123.  
  124. @deftypefn {} {ostream&} {operator <<} (ostream &@var{os}, const LinConst &@var{b})
  125. @end deftypefn
  126.  
  127. @c ------------------------------------------------------------------------
  128.  
  129. @node Nonlinear Constraints, Quadratic Programming, Linear Constraints, Optimization
  130. @section Nonlinear Constraints
  131. @cindex nonlinear Constraints
  132.  
  133. @deftypefn  {} {}NLConst (void)
  134. @deftypefnx  {} {}NLConst (int @var{n})
  135. @deftypefnx  {} {}NLConst (const ColumnVector @var{lb}, const NLFunc @var{f}, const ColumnVector @var{ub})
  136. @deftypefnx  {} {}NLConst (const NLConst &@var{a})
  137. @end deftypefn
  138.  
  139. @deftypefn {} NLConst& {operator =} (const NLConst &@var{a})
  140. @end deftypefn
  141.  
  142. @node Quadratic Programming, Nonlinear Programming, Nonlinear Constraints, Optimization
  143. @section Quadratic Programming
  144. @cindex QP
  145. @cindex quadratic programming
  146.  
  147. @deftypefn  {} {}QP (void)
  148. @deftypefnx  {} {}QP (const ColumnVector &@var{x}, const Matrix &@var{H})
  149. @deftypefnx  {} {}QP (const ColumnVector &@var{x}, const Matrix &@var{H}, const ColumnVector &@var{c})
  150. @deftypefnx  {} {}QP (const ColumnVector &@var{x}, const Matrix &@var{H}, const Bounds &@var{b})
  151. @deftypefnx  {} {}QP (const ColumnVector &@var{x}, const Matrix &@var{H}, const LinConst &@var{lc})
  152. @deftypefnx  {} {}QP (const ColumnVector &@var{x}, const Matrix &@var{H}, const ColumnVector &@var{c}, const Bounds &@var{b})
  153. @deftypefnx  {} {}QP (const ColumnVector &@var{x}, const Matrix &@var{H}, const ColumnVector &@var{c}, const LinConst &@var{lc})
  154. @deftypefnx  {} {}QP (const ColumnVector &@var{x}, const Matrix &@var{H}, const Bounds &@var{b}, const LinConst &@var{lc})
  155. @deftypefnx  {} {}QP (const ColumnVector &@var{x}, const Matrix &@var{H}, const ColumnVector &@var{c}, const Bounds &@var{b}, const LinConst &@var{lc})
  156. @end deftypefn
  157.  
  158. @deftypefn {} {virtual ColumnVector} minimize (void)
  159. @deftypefnx {} {virtual ColumnVector} minimize (double &@var{objf})
  160. @deftypefnx {} {virtual ColumnVector} minimize (double &@var{objf}, int &@var{inform})
  161. @deftypefnx {} {virtual ColumnVector} minimize (double &@var{objf}, int &@var{inform}, ColumnVector &@var{lambda}) = 0;
  162. @end deftypefn
  163.  
  164. @deftypefn {} {virtual ColumnVector} minimize (const ColumnVector &@var{x})
  165. @deftypefnx {} {virtual ColumnVector} minimize (const ColumnVector &@var{x}, double &@var{objf})
  166. @deftypefnx {} {virtual ColumnVector} minimize (const ColumnVector &@var{x}, double &@var{objf}, int &@var{inform})
  167. @deftypefnx {} {virtual ColumnVector} minimize (const ColumnVector &@var{x}, double &@var{objf}, int &@var{inform}, ColumnVector &@var{lambda})
  168. @end deftypefn
  169.  
  170. @deftypefn {} ColumnVector minimize (double &@var{objf}, int &@var{inform}, ColumnVector &@var{lambda})
  171. @end deftypefn
  172.  
  173. @c ------------------------------------------------------------------------
  174.  
  175. @node Nonlinear Programming,  , Quadratic Programming, Optimization
  176. @section Nonlinear Programming
  177. @cindex NLP
  178. @cindex nonlinear programming
  179.  
  180. @deftypefn  {} {}NLP (void)
  181. @deftypefnx  {} {}NLP (const ColumnVector &@var{x}, const Objective &@var{phi})
  182. @deftypefnx  {} {}NLP (const ColumnVector &@var{x}, const Objective &@var{phi}, const Bounds &@var{b})
  183. @deftypefnx  {} {}NLP (const ColumnVector &@var{x}, const Objective &@var{phi}, const Bounds &@var{b}, const LinConst &@var{lc})
  184. @deftypefnx  {} {}NLP (const ColumnVector &@var{x}, const Objective &@var{phi}, const Bounds &@var{b}, const LinConst &@var{lc}, const NLConst &@var{nlc})
  185. @deftypefnx  {} {}NLP (const ColumnVector &@var{x}, const Objective &@var{phi}, const LinConst &@var{lc})
  186. @deftypefnx  {} {}NLP (const ColumnVector &@var{x}, const Objective &@var{phi}, const LinConst &@var{lc}, const NLConst &@var{nlc})
  187. @deftypefnx  {} {}NLP (const ColumnVector &@var{x}, const Objective &@var{phi}, const NLConst &@var{nlc})
  188. @deftypefnx  {} {}NLP (const ColumnVector &@var{x}, const Objective &@var{phi}, const Bounds &@var{b}, const NLConst &@var{nlc})
  189. @end deftypefn
  190.  
  191. @deftypefn {} NLP& {operator =} (const NLP &@var{a})
  192. @end deftypefn
  193.  
  194. @deftypefn {} int size (void) const
  195. @end deftypefn
  196.  
  197. @deftypefn {} ColumnVector minimize (void)
  198. @deftypefnx {} ColumnVector minimize (double &@var{objf})
  199. @deftypefnx {} ColumnVector minimize (double &@var{objf}, int &@var{inform})
  200. @deftypefnx {} ColumnVector minimize (double &@var{objf}, int &@var{inform}, ColumnVector &@var{lambda})
  201. @end deftypefn
  202.  
  203. @deftypefn {} ColumnVector minimize (const ColumnVector &@var{x})
  204. @deftypefnx {} ColumnVector minimize (const ColumnVector &@var{x}, double &@var{objf})
  205. @deftypefnx {} ColumnVector minimize (const ColumnVector &@var{x}, double &@var{objf}, int &@var{inform})
  206. @deftypefnx {} ColumnVector minimize (const ColumnVector &@var{x}, double &@var{objf}, int &@var{inform}, ColumnVector &@var{lambda})
  207. @end deftypefn
  208.